//
// Created by Jisam on 2024/7/6.
//
#include<cstdio>
#include<algorithm>
using namespace std;
// 滚动数组 + 前缀和
// 定义全局变量
// n: 输入的整数个数
// a: 每个整数的值
// s: 前缀和模7的结果
// l: 记录每个前缀和模7结果的最早出现位置
// r: 记录每个前缀和模7结果的最晚出现位置
// ans: 记录最长连续前缀和的长度
int n, a, s, l[]={0,-1,-1,-1,-1,-1,-1}, r[7], ans;

// 主函数
int main(){
    // 输入整数个数
    scanf("%d", &n);

    // 遍历每个整数
    for(int i=1; i<=n; ++i){
        // 输入当前整数
        scanf("%d", &a);

        // 更新前缀和，并取模7
        s = (s + a) % 7;

        // 如果当前前缀和模7的结果第一次出现，则记录其位置
        if(l[s] == -1) l[s] = i;

        // 更新当前前缀和模7结果的最晚出现位置
        r[s] = i;
    }

    // 遍历所有前缀和模7的结果，找出最长连续前缀和的长度
    for(int i=0; i<7; ++i){
        // 如果当前前缀和模7的结果有出现，则更新最长连续前缀和的长度
        if(l[i] != -1) ans = max(ans, r[i] - l[i]);
    }

    // 输出最长连续前缀和的长度
    printf("%d", ans);
}
